package com.my.zl.console.service.online;

import com.my.zl.common.dto.ReqDTO;
import com.my.zl.console.dto.online.databaseTable.ReqDatabaseTableAddDTO;
import com.my.zl.console.dto.online.databaseTable.ReqDatabaseTableQueryDTO;
import com.my.zl.console.dto.online.databaseTable.ReqDatabaseTableSqlQueryDTO;
import com.my.zl.console.dto.online.databaseTable.ResDatabaseTableAddDTO;
import com.my.zl.console.dto.online.databaseTable.ResDatabaseTableQueryDTO;
import com.my.zl.console.dto.online.databaseTable.ResDatabaseTableSqlQueryDTO;

/**
 * 数据库表字段
 * @author ZL
 */
public interface IDatabaseTableService {

    /**
     * 查询
     */
    ResDatabaseTableQueryDTO getDatabaseTableList(ReqDatabaseTableQueryDTO reqInfo) throws Exception;
    
    /**
     * 获取数据库表
     */
    ResDatabaseTableAddDTO selectDatabaseTableCodes(ReqDTO<ReqDatabaseTableAddDTO> reqInfo) throws Exception;
    
    /**
     * 同步表字段
     */
    void doUpdateDatabaseTableColumn(ReqDTO<ReqDatabaseTableAddDTO> reqInfo,ResDatabaseTableAddDTO resDTO) throws Exception;
    
    /**
     * 同步表字段(异步)
     */
    void doUpdateDatabaseTableColumnAsync(ReqDTO<ReqDatabaseTableAddDTO> reqInfo,ResDatabaseTableAddDTO resDTO) throws Exception;
    
    
    /**
     * 查询
     */
    ResDatabaseTableSqlQueryDTO querySqlResult(ReqDTO<ReqDatabaseTableSqlQueryDTO> reqInfo) throws Exception;
}